---
id: macos
title: macOS
sidebar_label: 🍏 macOS
---

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import Next from "./next.mdx";

## Set up your terminal

As the standard terminal only supports [256 colors][256-colors], we advise using
[iTerm2][iterm2] or any other modern day macOS terminal that supports ANSI characters.

:::info
To display all icons, we recommend the use of a [Nerd Font][fonts].
:::

<Tabs
  defaultValue="homebrew"
  groupId="install"
  values={[
    { label: 'homebrew', value: 'homebrew', },
    { label: 'MacPorts', value: 'macports', }
  ]
}>
<TabItem value="homebrew">

A [Homebrew][brew] Formula and Cask are available for easy installation.

```bash
brew install jandedobbeleer/oh-my-posh/oh-my-posh
```

Updating is done via:

```bash
brew update && brew upgrade oh-my-posh
```

:::tip
In case you see [strange behaviour][strange] in your shell, reload it after upgrading Oh My Posh.
For example in zsh:

```bash
brew update && brew upgrade && exec zsh
```
:::

</TabItem>
<TabItem value="macports">

You can install Oh My Posh via [MacPorts] which is maintained by the [community].

```bash
sudo port selfupdate
sudo port install oh-my-posh
```

Oh My Posh will be installed at `/opt/local/bin/oh-my-posh`.

Updating is done via:

```bash
sudo port selfupdate
sudo port upgrade oh-my-posh
```

More details on the [ports page] for Oh My Posh.

</TabItem>
</Tabs>

## Troubleshooting

:::tip
If you see an error that says, "[conditional binary operator expected][outdated-bash]" you probably need to update to a newer version of bash.

```bash
brew install bash
grep -qxF "$(brew --prefix)/bin/bash" /etc/shells || sudo bash -c 'echo "$(brew --prefix)/bin/bash" >> /etc/shells'
chsh -s "$(brew --prefix)/bin/bash" $USER
```
:::

<Next />

[256-colors]: /docs/configuration/colors#standard-colors
[iterm2]: https://iterm2.com
[fonts]: /docs/installation/fonts
[MacPorts]: https://www.macports.org
[ports page]: https://ports.macports.org/port/oh-my-posh
[community]: https://ports.macports.org/port/oh-my-posh/
[outdated-bash]: https://github.com/JanDeDobbeleer/oh-my-posh/discussions/3429
[brew]: https://brew.sh
[themes]: https://ohmyposh.dev/docs/themes
[strange]: https://github.com/JanDeDobbeleer/oh-my-posh/issues/1287
